/* ==================================================================   
 * Created [2009-4-27 下午11:32:55] by Jon.King 
 * ==================================================================  
 * TSS 
 * ================================================================== 
 * mailTo:jinpujun@hotmail.com
 * Copyright (c) Jon.King, 2009-2012 
 * ================================================================== 
 */

package com.jinhe.tss.component.dynproperty.support.hibernate;

import com.jinhe.tss.component.dynproperty.support.AbstractDynEntity;
import com.jinhe.tss.core.persistence.IDao;
import com.jinhe.tss.core.persistence.IEntity;

/** 
 * <p> IAbstractHibernateDao.java </p> 
 * 
 * @author Jon.King 2008/04/14 10:18:47 $ 
 */
public interface IDynAbstractHibernateDao extends IDao<IEntity>{

    /**
     * 保存某个对象和对象的所有动态属性值
     * @param entity
     * @return
     */
    AbstractDynEntity saveDynEntity(AbstractDynEntity entity);

    /**
     * 获取某个对象和对象的所有动态属性值
     * @param clazz
     * @param id
     * @return
     */
    AbstractDynEntity getDynEntity(Class<?> clazz, Long id);

    /**
     * 删除某个对象和对象的所有动态属性值
     * @param obj
     */
    void removeDynEntity(Object obj);

}
